package com.java.WORK1;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Scanner;

public class StudentManager {

	// 属性：学生信息集合对象
	/**
	 * 作业：将数组换为用list实现
	 * 
	 */
	private List arrStus;

	// 构造方法
	public StudentManager() {
		super();

	}

	// 行为

	/**
	 * 总的行为
	 */

	public void showAll() {
		init();// 初始化
		bubbleSort();// 排序
		printMe();// 打印
	}

	/**
	 * (1)初始化:数据录入
	 */
	private void init() {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入要排序的学生人数：");
		int count = sc.nextInt();// 从控制台输入学生人数,因为要以学生人数来做一个数组

		// 根据学生人数创建数组，此处初始化的是成员变量，而不是局部变量
		arrStus = new ArrayList(count);

		// 添加数据，从控制台输入
		for (int i = 0; i < count; i++) {
			System.out.println("请输入第" + (i + 1) + "个学生的名字");
			String name = sc.next();
			System.out.println("请输入第" + (i + 1) + "个学生的学号");
			String num = sc.next();
			System.out.println("请输入第" + (i + 1) + "个学生的成绩");
			Double stuscore = sc.nextDouble();
			// 根据输入的参数，构建一个Student的实例对象
			Student stu = new Student(name, num, stuscore);
			// 把创建的学生对象放到数组中
			arrStus.add(stu);
		}
	}

	/**
	 * (2)comparator的使用
	 */
	public void bubbleSort() {
		// 提供Student比较器
		Collections.sort(arrStus);

	}

	/**
	 * (3)打印输出
	 */
	public void printMe() {
		for (Object i : arrStus) {
			((Student) i).printMe();
		}
		System.out.println();
	}
	// getter，setter

}
